/**
 * 
 */
package vn.smartware.co.framework.config;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;

/**
 * @author thuctt
 * ActionMappingsConfig
 */
@SuppressWarnings("rawtypes")
public class ActionMappingsConfig implements Serializable {
	
	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = 8092502744418424312L;
	private String validate;
	private String name;
	private String path;
	private String type;
	private String scope;
	private String time;
	private HashMap actionException = new HashMap();
	private Object args;
	private ArrayList argslist = new ArrayList();

	/**
	 * @return the actionException
	 */
	public HashMap getActionException() {
		return actionException;
	}

	/**
	 * @param actionException the actionException to set
	 */
	public void setActionException(HashMap actionException) {
		this.actionException = actionException;
	}

	/**
	 * @return the argslist
	 */
	public ArrayList getArgslist() {
		return argslist;
	}

	/**
	 * @param argslist the argslist to set
	 */
	public void setArgslist(ArrayList argslist) {
		this.argslist = argslist;
	}

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return the path
	 */
	public String getPath() {
		return path;
	}

	/**
	 * @param path the path to set
	 */
	public void setPath(String path) {
		this.path = path;
	}

	/**
	 * @return the scope
	 */
	public String getScope() {
		return scope;
	}

	/**
	 * @param scope the scope to set
	 */
	public void setScope(String scope) {
		this.scope = scope;
	}

	/**
	 * @return the time
	 */
	public String getTime() {
		return time;
	}

	/**
	 * @param time the time to set
	 */
	public void setTime(String time) {
		this.time = time;
	}

	/**
	 * @return the type
	 */
	public String getType() {
		return type;
	}

	/**
	 * @param type the type to set
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * @return the validate
	 */
	public String getValidate() {
		return validate;
	}

	/**
	 * @param validate the validate to set
	 */
	public void setValidate(String validate) {
		this.validate = validate;
	}

	/**
	 * @return the args
	 */
	public Object getArgs() {
		return args;
	}

	/**
	 * @param actionException
	 */
	@SuppressWarnings("unchecked")
	public void addActionException(ActionExceptionConfig actionException) {
		this.actionException.put(actionException.getType(), actionException);
	}
		
	/**
	 * @param id 
	 * @return ActionExceptionConfig
	 */
	public ActionExceptionConfig getActionException(String id) {
		return (ActionExceptionConfig) actionException.get(id);
	}

	/**
	 * @param args args
	 * 
	 */
	@SuppressWarnings("unchecked")
	public void setArgs(Object args) {
		this.args = args;
		this.argslist.add(this.args);
	}

}
